using System;

namespace Module.Core.EntitiesInfo
{

	[Serializable]
	public class ProductCartInfo
	{
		#region Fields

		private int cartId;
		private int productId;
		private int quantity;
		private float totalPrice;
		private DateTime createdDate;
		private int memberId;

		#endregion

		#region Constructors

		/// <summary>
		/// Initializes a new instance of the ProductCartInfoBase class.
		/// </summary>
		public ProductCartInfo()
		{
		}

		/// <summary>
		/// Initializes a new instance of the ProductCartInfoBase class.
		/// </summary>
		public ProductCartInfo(int productId, int quantity, float totalPrice, DateTime createdDate, int memberId)
		{
			this.productId = productId;
			this.quantity = quantity;
			this.totalPrice = totalPrice;
			this.createdDate = createdDate;
			this.memberId = memberId;
		}

		/// <summary>
		/// Initializes a new instance of the ProductCartInfoBase class.
		/// </summary>
        public ProductCartInfo(int cartId, int productId, int quantity, float totalPrice, DateTime createdDate, int memberId)
		{
			this.cartId = cartId;
			this.productId = productId;
			this.quantity = quantity;
			this.totalPrice = totalPrice;
			this.createdDate = createdDate;
			this.memberId = memberId;
		}

		#endregion

		#region Properties
		/// <summary>
		/// Gets or sets the CartId value.
		/// </summary>
		public int CartId
		{
			get { return cartId; }
			set { cartId = value; }
		}

		/// <summary>
		/// Gets or sets the ProductId value.
		/// </summary>
		public int ProductId
		{
			get { return productId; }
			set { productId = value; }
		}

		/// <summary>
		/// Gets or sets the Quantity value.
		/// </summary>
		public int Quantity
		{
			get { return quantity; }
			set { quantity = value; }
		}

		/// <summary>
		/// Gets or sets the TotalPrice value.
		/// </summary>
		public float TotalPrice
		{
			get { return totalPrice; }
			set { totalPrice = value; }
		}

		/// <summary>
		/// Gets or sets the CreatedDate value.
		/// </summary>
		public DateTime CreatedDate
		{
			get { return createdDate; }
			set { createdDate = value; }
		}

		/// <summary>
		/// Gets or sets the MemberId value.
		/// </summary>
		public int MemberId
		{
			get { return memberId; }
			set { memberId = value; }
		}

		#endregion
	}
}
